//package cn.bonoon.kernel.support.services;
//
//import java.util.List;
//
//import cn.bonoon.kernel.events.ReadEvent;
//import cn.bonoon.kernel.support.Finder;
//
//public interface ISearcher {
//	
//	<O> List<O> find(ReadEvent readEvent, Class<O> resultClassType) throws Exception;
//
//	/**
//	 * 使用finder对象，可以追加查询条件等操作
//	 * @return
//	 * @throws Throwable
//	 */
//	Finder finder() throws Exception;
//	Finder finder(Object condition) throws Exception;
//	Finder finder(ReadEvent readEvent, Class<?> resultClassType) throws Exception;
//	// 不建议使用，应该把 condition 放在 readEvent 里面的 source 字段。
//	//@Deprecated
//	Finder finder(Object condition, ReadEvent readEvent, Class<?> resultClassType) throws Exception;
//	
//	/**
//	 * 注意：只能用于树形结构，其它情况下将返回空集合
//	 * @param rid
//	 * @param readEvent
//	 * @param resultClassType
//	 * @return
//	 * @throws Throwable
//	 */
//	<O> List<O> tryLoadChildren(Long rid, ReadEvent readEvent, Class<O> resultClassType) throws Exception;
//
//	/**
//	 * <pre>
//	 * 返回整个数结构
//	 * 注意：只能用于树形结构，其它情况下将返回空集合
//	 * </pre>
//	 * @param readEvent
//	 * @param resultClassType
//	 * @return
//	 * @throws Throwable
//	 */
//	<O> List<O> tryLoadRoot(ReadEvent readEvent, Class<O> resultClassType) throws Exception;
//
//}
